package ch.manage.movie.business;

import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Date;
import java.util.List;

public class Movie {
	
	private String id;
	private String title;
	private Date release;
	private String rated;
	private int duration;
	private List<String> genre;
	private String description;
	private transient BufferedImage cover;
	private String coverImagePath;
	private List<String> actors;
	private List<String> directors;
	private List<String> writers;
	private float rating;
	private File path;
	private boolean seen;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public int getDuration() {
		return duration;
	}
	public void setDuration(int duration) {
		this.duration = duration;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public BufferedImage getCover() {
		return cover;
	}
	public void setCover(BufferedImage image) {
		this.cover = image;
	}
	public Date getRelease() {
		return release;
	}
	public void setRelease(Date release) {
		this.release = release;
	}
	public float getRating() {
		return rating;
	}
	public void setRating(float rating) {
		this.rating = rating;
	}
	public File getPath() {
		return path;
	}
	public void setPath(File path) {
		this.path = path;
	}
	public List<String> getGenre() {
		return genre;
	}
	public void setGenre(List<String> genre) {
		this.genre = genre;
	}
	public List<String> getActors() {
		return actors;
	}
	public List<String> getDirectors() {
		return directors;
	}
	public void setDirectors(List<String> directors) {
		this.directors = directors;
	}
	public void setActors(List<String> actors) {
		this.actors = actors;
	}
	public String getRated() {
		return rated;
	}
	public void setRated(String rated) {
		this.rated = rated;
	}
	public List<String> getWriters() {
		return writers;
	}
	public void setWriters(List<String> writers) {
		this.writers = writers;
	}
	public String getCoverImagePath() {
		return coverImagePath;
	}
	public void setCoverImagePath(String coverImage) {
		this.coverImagePath = coverImage;
	}
	
	public boolean isSeen() {
		return seen;
	}
	public void setSeen(boolean seen) {
		this.seen = seen;
	}
	
	public void printToConsole(){
		System.out.println("-----------------------------------------------");
		System.out.println("Id: "+id);
		System.out.println("Title: "+title);
		System.out.println("Duration: "+duration);
		System.out.println("Genres:");
		for(String s : genre){
			System.out.println("- \t "+s);
		}
		System.out.println("Description: "+description);
		System.out.println("Actors: ");
		for(String s : actors){
			System.out.println("- \t "+s);
		}
		System.out.println("Release: "+release.toString());
		System.out.println("Rating: "+rating);
		System.out.println("-----------------------------------------------");
	}
}
